var express=require('express');
var app = express.createServer();
var contadores = new Array;
contadores['definible']=0;
var puerto=process.argv[2]?process.argv[2]:8080;

app.get('/contadores.html', function (req, res) {
	var frase = '<html><head><title>contadores en html</title></head><body>';
	for(var i in contadores) {
		frase = frase + 'El contador ' + i + ' vale ' + contadores[i] + '<br>';
	}
	frase = frase + '</body></html>';
	res.send(frase);
});

app.get('/contadores.json', function (req, res) {
	var frase = '{ ';
	for(var i in contadores) {
		frase = frase + i + ' : ' + contadores[i] + ' , ';
	}
	frase = frase.substr(0, frase.length-3) + ' }';
	res.send(frase);
});

app.get('/establece', function (req, res) {
	var frase = '<html><head><title>Definiendo contador</title></head><body><FORM action="http://localhost:8080/establece" method="post"><P>Valor a establecer en el contador "definible": <INPUT type="number" name="valor"><BR><INPUT type="submit" value="Enviar"></P></FORM></body></html>';
 	res.send(frase);
});

app.post('/establece', function (req, res) {
	req.on('data', function(recibido) {
		console.log("Hemos recibido:");
    	console.log(recibido.toString());
    	eval(recibido.toString());
    	console.log('ahora la variable valor vale ' + valor);
    	contadores['definible'] = valor;
    	res.send('<html><head><title>Contador definido</title></head><body>El contador definible ha sido establecido al valor ' + contadores['definible'] + '</body></html>');
    });
});

app.put('/contador/:id', function( req,res ) {
    contadores[req.params.id] = 0;
    res.send( { creado: req.params.id } );
    console.log(contadores);
    console.log(contadores[1]);
});

app.get('/contador/:id', function (req, res) {   
    res.send( "{ "+req.params.id+": "+ contadores[req.params.id] + "}"  );
});

app.post('/contador/:id', function (req, res) {   
    contadores[req.params.id]++;
    res.send( "{ "+req.params.id+": "+ contadores[req.params.id] + "}"  );
});

app.listen(puerto);
console.log('Server running at http://127.0.0.1:'+puerto+'/');